#include <constants.h>

class Erratic{
	private:
		double maximum_linear_velocity;		/// @param Maximum linear velocity -> TODO extract from config file
		double maximum_angular_velocity;	/// @param Maximum angular velocity -> TODO extract from config file
		double maximum_linear_acc;			/// @param Maximum linear acceleration -> TODO extract from config file
		double maximum_angular_acc;			/// @param Maximum angular acceleration -> TODO extract from config file
		
		double _x, _y, _t, _lv, _av;		/// @param Current positions, orientations and velocities in the map/world frame
		
	public:
		Erratic();
		Erratic(double cx, double cy, double ct, double cvl, double cvt);
		void init(double cx, double cy, double ct, double cvl, double cvt);
		double x( double cx = INF );
		double y( double cy = INF );
		double theta( double ctheta = INF);
		double lv( double cvx = INF);
		double av( double cvt = INF);
		
		double max_lin_velocity();
		double max_ang_velocity();
		double max_lin_acc();
		double max_ang_acc();
};
